#include "menuhelp.h"
#include "menuscene.h"

void MenuHelp::Init(){
	// obtenemos una captura de pantalla de la escena anterior
	imgFondo.CopyScreen(theEngine.GetRenderWindow());
	fondo.SetImage(imgFondo);
	//fondo.FlipY(true);
	fondo.SetColor(sf::Color(255, 255, 255, 128));
	
	// propiedades para el sprite con la palabra "pausa"
	const sf::Image &imgPausa = theTextureManager.GetTexture("img/help.png");
	pausa.SetImage(imgPausa);
	posPausa = sf::Vector2f(320, 100);
	//pausa.SetCenter(0, 50);//(imgPausa.GetWidth()/2.0, imgPausa.GetHeight()/2.0);
	pausa.SetScale(1, 1);
	
	// propiedades del texto
	/*
	pauseText.SetSize(25);
	pauseText.SetPosition(320, 420);
	pauseText.SetText("Presione cualquier tecla para continuar\n o ESCAPE para salir al menu principal");
	pauseText.SetCenter(pauseText.GetRect().GetWidth()/2, pauseText.GetRect().GetHeight()/2);
	pauseText.SetColor(sf::Color(102, 102, 138));
	*/

	strMensaje.SetPosition(550,550);
        strMensaje.SetSize(20);
        strMensaje.SetColor(sf::Color::Black);
        strMensaje.SetText("Press any key to return");


}


void MenuHelp::CleanUp(){
	
}


void MenuHelp::ProcessEvent(const sf::Event &e){
	// si presionamos alguna tecla o boton del mouse, se vuelve a la escena anterior
	// si se presiona escape se vuelve al menu principal
	if(e.Type == sf::Event::KeyPressed || e.Type == sf::Event::MouseButtonPressed || e.Type==sf::Event::JoyButtonPressed){
		if(e.Type == sf::Event::KeyPressed && e.Key.Code == sf::Key::Escape){
			theEngine.ChangeScene(new MenuScene());
		}else{
			EndScene();
		}
	}
}


void MenuHelp::Update(const float &dt){
	/*
	fase += dt;
	pausa.SetPosition(posPausa.x, posPausa.y+20*sin(1.5*fase));
	*/
}


void MenuHelp::Render(sf::RenderWindow &w){
	w.Clear(sf::Color::White);
	w.Draw(fondo);
	w.Draw(pausa);
	w.Draw(pauseText);	
	w.Draw(strMensaje);

}
